Added Bridge Status Reporter Service#18634
Conversation
|
👋 Fletch153, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
3370cfd to
e3ed976
Compare
e3ed976 to
9feaab9
Compare
4348137 to
31b9c0e
Compare
32fa3a8 to
6e746af
Compare
core/services/nodestatusreporter/bridgestatus/bridge_status_reporter.go
Outdated
Show resolved
Hide resolved
core/services/nodestatusreporter/bridgestatus/bridge_status_reporter.go
Outdated
Show resolved
Hide resolved
Flakeguard SummaryRan new or updated tests between View Flaky Detector Details | Compare Changes Found Flaky Tests ❌4 Results
ArtifactsFor detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json. |
6f6239e to
73be6f5
Compare
Flakeguard SummaryRan new or updated tests between View Flaky Detector Details | Compare Changes Found Flaky Tests ❌1 Results
ArtifactsFor detailed logs of the failed tests, please refer to the artifact failed-test-results-with-logs.json. |
|
* Initial working impl * update naming from metric to status * Fixes + update tests * Small fixes * Migrate JSON beholder msg to protobuf * Add job idenfication to polling * Include external job IDs * Add job name to beholder output * Rename ea status to bridge status * Fixed issue with protobuf marshaling * Fixed issues with beholder not correctly emitting * Fixed issue sending nil values * add go generate d. * Add README * Changeset * Fix build issues * go gen * Fixed PR check issues * Update test fixtures * Additional test fixes * PR fixes * Fix racey tests * Fix test failure * Improved configuration reslilience




Bridge Status Reporter Service
Overview
Implements a service that polls External Adapter
/statusendpoints at configurable intervals and emits structured telemetry events via Beholder. Provides operational visibility into bridge health, configuration, and runtime state.Implementation
Core Service (
core/services/nodestatusreporter/bridgestatus/)bridge_status_reporter.go- Service implementation with polling loop, HTTP client, error handlingProtobuf Schema (
events/)Configuration Integration
core/config/docs/core.toml- Added[BridgeStatusReporter]configuration sectioncore/config/toml/types.go- Configuration struct and setterscore/config/bridge_status_config.go- Configuration interfacecore/services/chainlink/config_bridge_status.go- Service configuration implementationFeatures
Service Behavior
/status)Telemetry Data Structure
Emits
BridgeStatusEventcontaining:Configuration
Usage
Node Operators
Configure service via TOML, ensure External Adapters implement status endpoints.
External Adapter Developers
Implement GET
/statusendpoint returning JSON with required fields, available in adapters using ea-framework-js v2.7.0+Monitoring Systems
Consume
BridgeStatusEventmessages via Beholder telemetry pipeline.